package com.snakegame.config;

import java.util.ArrayList;
import java.util.List;

/**
 * 地图管理器，负责地图的加载、存储和选择
 */
public class MapManager {
    private static List<Map> maps = new ArrayList<>();
    
    static {
        // 初始化一些默认地图
        initDefaultMaps();
    }
    
    private static void initDefaultMaps() {
        // 地图1：空地图
        Map emptyMap = new Map("空地图", 20, 20);
        maps.add(emptyMap);
        
        // 地图2：围墙地图
        Map wallMap = new Map("围墙地图", 20, 20);
        for (int x = 0; x < 20; x++) {
            wallMap.addWall(x, 0);
            wallMap.addWall(x, 19);
        }
        for (int y = 1; y < 19; y++) {
            wallMap.addWall(0, y);
            wallMap.addWall(19, y);
        }
        maps.add(wallMap);
        
        // 地图3：障碍物地图
        Map obstacleMap = new Map("障碍物地图", 20, 20);
        for (int x = 5; x < 15; x++) {
            obstacleMap.addWall(x, 10);
        }
        for (int y = 5; y < 15; y++) {
            obstacleMap.addWall(10, y);
        }
        maps.add(obstacleMap);
    }
    
    public static Map getDefaultMap() {
        return maps.get(0);
    }
    
    public static List<Map> getMaps() {
        return maps;
    }
    
    public static void addMap(Map map) {
        maps.add(map);
    }
    
    public static void removeMap(Map map) {
        maps.remove(map);
    }
}    